home *** CD-ROM | disk | FTP | other *** search
/ Aminet 23 / Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / Source / E / Screens / HiResScreen.e < prev    next >
Text File  |  1997-12-05  |  2KB  |  60 lines

  1. /* HiRes Picture Display
  2. ** ---------------------
  3. ** Opens a screen of 640 pixels width in HIRES mode.  You can even try
  4. ** SuperHiRes (SHIRES) if you change the appropriate flag in the GameScreen
  5. ** structure.
  6. */
  7.  
  8. MODULE 'dpkernel','dpkernel/dpkernel','graphics/pictures','files/files'
  9. MODULE 'screens','system/register','system/modules','input/joydata'
  10. MODULE 'graphics/screens','graphics/blitter'
  11.  
  12. PROC main()
  13.   DEF screen    :PTR TO screen,
  14.       pic       :PTR TO picture,
  15.       picfile   :filename,
  16.       scrmodule :PTR TO module,
  17.       joydata   :PTR TO joydata
  18.  
  19.   picfile := [ ID_FILENAME, 'GMS:demos/data/PIC.Pic640x256']:filename
  20.  
  21.   IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
  22.      IF (scrmodule := Init([TAGS_MODULE,NIL,
  23.          MODA_NUMBER,    MOD_SCREENS,
  24.          MODA_TABLETYPE, JMP_AMIGAE,
  25.          TAGEND], NIL))
  26.  
  27.         scrbase := scrmodule.modbase
  28.  
  29.         IF (pic := Load(picfile, ID_PICTURE))
  30.            screen := Get(ID_SCREEN)
  31.            CopyStructure(pic,screen)
  32.            screen.memptr1 := pic.bitmap.data
  33.            screen.width   := 640
  34.            screen.height  := 256
  35.            screen.scrmode := HIRES OR LACED
  36.  
  37.            IF (joydata := Init(Get(ID_JOYDATA),NIL))
  38.               IF (Init(screen,NIL))
  39.                  Display(screen)
  40.                  Query(joydata)
  41.  
  42.                  REPEAT
  43.                    Query(joydata)
  44.                    WaitAVBL()
  45.                  UNTIL (joydata.buttons AND JD_LMB)
  46.  
  47.               Free(screen)
  48.               ENDIF
  49.            Free(joydata)
  50.            ENDIF
  51.         Free(pic)
  52.         ENDIF
  53.      Free(scrmodule)
  54.      ENDIF
  55.   CloseDPK()
  56.   ENDIF
  57.  
  58. ENDPROC
  59.  
  60.